1. Field of the Invention
The present invention relates to associating multiple display units in a grouped server environment.
Portions of the disclosure of this patent document contain material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office file or records, but otherwise reserves all copyright rights whatsoever.
2. Background Art
When computing, a user often has many computer programs running at the same time. Sometimes, the user wants to switch back and forth between the computer programs. At times, however, the number of running computer programs may become so large that the physical size of the output device will be too small to effectively show the user all of the running computer programs. This makes it difficult for the user to switch between the computer programs.
One solution to this problem is to take multiple output devices, arrange them in a logical order, and display output on all of the devices. For instance, three output devices could be aligned in a row to essentially create one output screen three times larger in size. Such an arrangement is termed a “multi-head” configuration. Multi-head configurations, however, are difficult to create on modern computers. Before further discussing the difficulties associated with creating a multi-head configuration, modern computing is discussed below.
Modern Computing
In modern computing it is desirable for a user to be interacting with a computing device in a first location, to stop the interacting with the device, to move to a new location, and to begin interacting at the new location at precisely the point where the user stopped interacting at the first location. One type of computation architecture that allows for this type of interaction involves simple, stateless, Human Interface Device (HID) terminals, usually in the form of desktop units, that provide access to computation and communication services provided over a network connection.
Each HID (or terminal) provides all the facilities needed for a human to communicate with the computational systems. This typically involves, a framebuffer for displaying information, keyboard and mouse inputs, and may include audio and video input and output, as well as other services. Each HID is normally used as the access point into the networked computing services for one user.
Because the HIDs are stateless (meaning that no important information is available only within the unit), the architecture allows a user's information to be instantly sent to any HID within a network. That is, a user can be in the middle of typing an e-mail message on one HID, and move his or her session to another, for instance by inserting a smart card into the new HID and picking up exactly where they left off. Similarly, if one HID fails, a user can move to another without losing any work.
Also, since the computation services available at an HID are not tied to the specific unit, the user's computational session can be hosted on one of several servers within a server group. Different users can use the same HID to access sessions on different servers. Similarly, a single user can simultaneously have computational sessions on several servers and choose which should be presented at the HID.
Output Environments
Often in a modern computing environment, a user will have many services active at the same time. This often creates problems when the number of services cannot be displayed effectively in a single output terminal. One solution is to use “screen flipping”. Screen flipping essentially transforms the user's computing environment into one that is larger than what is displayed on the monitor. The user, then, is shown only a portion of the environment at any one time and the other portion of the environment is not visible. If the user wants to move to a portion of the computer environment that is not visible, for instance to access a computer program displayed there, the user positions a pointer at the edge of the currently displayed environment and essentially pushes the screen in the desired direction.
FIGS. 1-3 show how screen flipping may be implemented. Computer environment 100 of FIG. 1 is divided into four segments, 110-140 respectively. Output device 150 displays the currently visible segment 130. In operation, a user positions pointer 200 of FIG. 2 on a portion of the screen 210 where the user desires to push the environment. The environment is then pushed and the direction the user pushes becomes the currently displayed segment enabling the user to access a computer program displayed in that segment. FIG. 3 shows the result of screen flipping in the direction indicated in FIG. 2. In FIG. 3, segment 140 is shown on display device 150. It should be noted that other tools are available to navigate the multi-headed configuration, including special keys, key combinations, and navigation applications.
Screen flipping is problematic because the user can get lost within the larger computing environment. For instance, since segment 140 is not visible, the user may not know that the needed computer program resides in segment 140.
Multi-Head Configuration
Another method that makes it easier for a user to handle many running computer programs is to display the larger computing environment on more than one output device, termed a “multi-head” configuration. Using the multi-head configuration, a user will operate a computer and have the multiple output devices arranged in such a manner that the entire environment can be displayed on the output devices. One example of such an arrangement is shown in FIG. 4. Computing environment 400 is partitioned into segments 410-430. Segments 410-430 are displayed on output devices 440-460. In this configuration three output devices are used where there is one row of such devices and three columns, but other two dimensional arrangements are equally applicable.
Multi-head Configurations in Modern Computers
One way to allow a modern computer to handle a multi-head configuration is to place multiple framebuffer cards into the computer, one for each display screen in the multi-head configuration, this involves using additional expansion slots or even changing the manufacture of such a computer to have expansion slots. This solution runs contrary to the goals of modern computer architectures. The end user terminals are configured to have as little hardware as possible and be as inexpensive as possible. A solution that makes the end user terminal more complicated and requires additional manufacturing, and hence more expense, is disadvantageous.